home *** CD-ROM | disk | FTP | other *** search
/ Input 64 / Input_64_85-08_1985_Verlag_Heinz_Weise_de.d64 / C O (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  7KB  |  311 lines

  1. 10 ifpeek(50307)=120thenpoke50257,0
  2. 100 rem ***************
  3. 110 rem c o l o r  code
  4. 120 rem ***************
  5. 130 rem juni 1985 by
  6. 140 rem ***************
  7. 150 rem wolfgang gachot
  8. 160 rem
  9. 170 rem
  10. 180 rem ***************
  11. 190 rem initialisierung
  12. 200 poke788,52
  13. 205 fori=0to23:poke54272+i,0:next
  14. 210 dimfx(14),fv(14)
  15. 220 data 103,17,237,21,20,26,109,16,178,20,157,24,129,15,137,19,59,23,109,16
  16. 230 data 178,20,157,24
  17. 240 tr$=chr$(144)+"[214] ":rf$=chr$(5)+"[214] "
  18. 250 cs=58640:bs=1119:fs=55391:vic=53248:sid=54272:h=0:ad=1065:fl=0
  19. 260 gosub 3540:rem alle stimmen aus
  20. 270 pokesid+24,15 :rem lautstaerke einstellen
  21. 280 fori=5 to 19step7 :rem adsr einstellen
  22. 290 pokesid+i,16:pokesid+i+1,200
  23. 300 next
  24. 310 poke53280,15:poke53281,15:printchr$(142);chr$(8);chr$(151) :rem farben
  25. 320 gosub 2430:rem titelbild
  26. 330 h=0:fw$(1)=chr$(144)+chr$(18)+" s "+chr$(146)+" schwarz"
  27. 340 fw$(2)=chr$(154)+chr$(18)+" b "+chr$(146)+" blau"
  28. 350 fw$(3)=chr$(150)+chr$(18)+" r "+chr$(146)+" rot"
  29. 360 fw$(4)=chr$(129)+chr$(18)+" o "+chr$(146)+" orange"
  30. 370 fw$(5)=chr$(5)+chr$(18)+" w "+chr$(146)+" weiss"
  31. 380 fw$(6)=chr$(156)+chr$(18)+" v "+chr$(146)+" violett"
  32. 390 fw$(7)=chr$(158)+chr$(18)+" g "+chr$(146)+" gelb"
  33. 400 rem sprite initialisieren
  34. 410 fori=0to62:poke704+i,0:next
  35. 420 fori=1to24:readdw:next
  36. 430 fori=0to24step3:readda:poke704+i,da:next
  37. 440 data 24,60,126,219,24,24,24,24,24
  38. 450 poke2040,11:pokevic+39,1
  39. 460 pokevic,160:pokevic+1,90
  40. 470 gosub3540
  41. 480 if fl then gosub2890:goto520
  42. 490 gosub2830:rem abfrage auf anleitung und schwierigkeitsgrad
  43. 500 rem*********************************
  44. 510 rem spielfeldaufbau
  45. 520 print chr$(147)
  46. 530 pokead,3   :pokead+sid,14  :rem c
  47. 540 pokead+2,15:pokead+sid+2,1 :rem o
  48. 550 pokead+4,12:pokead+sid+4,10:rem l
  49. 560 pokead+6,15:pokead+sid+6,7 :rem o
  50. 570 pokead+8,18:pokead+sid+8,4 :rem r
  51. 580 printchr$(151)
  52. 590 poke211,2:poke214,3:syscs:print"c o d e"
  53. 600 poke211,2:poke214,6:syscs:print"stufe";sg+1
  54. 610 fori=1to7
  55. 620 poke211,1:poke214,i*2+8:sys cs
  56. 630 print fw$(i)
  57. 640 next
  58. 650 printchr$(151);chr$(19);
  59. 660 printtab(16)"[213][195][178][195][178][195][178][195][178][195][201]"
  60. 670 printtab(16)"[194]?[194]?[194]?[194]?[194]?[194]"
  61. 680 printtab(16)"[171][195][177][195][177][195][177][195][177][195][179]"
  62. 690 printtab(16)"[171][195][178][195][178][195][178][195][178][195][179]"
  63. 700 fori=1to 9
  64. 710 printtab(16)"[194] [194][160][194][160][194][160][194][160][194]"
  65. 720 printtab(16)"[171][195][219][195][219][195][219][195][219][195][179]"
  66. 730 next
  67. 740 printtab(16)"[194] [194][160][194][160][194][160][194][160][194]"
  68. 750 printtab(16)"[202][195][177][195][177][195][177][195][177][195][203]"
  69. 760 rem*********************************
  70. 770 rem code zufaellig festlegen
  71. 780 fori=1to5:x(i)=3
  72. 790 z=int(rnd(1)*9):ifz=3orz=5then790
  73. 800 ifz=2thenz=10
  74. 810 ifz=6then z=14
  75. 820 j=1
  76. 830 ifz=x(j)then fl=fl+1
  77. 840 iffl>sgthen fl=fl-1:goto 790
  78. 850 ifj<ithen j=j+1:goto830
  79. 860 x(i)=z
  80. 870 next
  81. 880 rem*********************************
  82. 890 rem hauptschleife
  83. 900 ve=0 :rem versuchszaehler
  84. 910 ez=0 :rem eingabezaehler
  85. 920 ve=ve+1 : ifve>10 then 2340
  86. 930 ez=ez+1+(ez>4)
  87. 940 pokevic+1,74+ve*16:pokevic,144+ez*16
  88. 950 pokevic+21,1:rem sprite ein
  89. 960 poke198,0:wait 198,1
  90. 970 gett$:rem tastaturabfrage
  91. 980 ift$="s"thenfc= 0:goto1110
  92. 990 ift$="w"thenfc= 1:goto1110
  93. 1000 ift$="b"thenfc=14:goto1110
  94. 1010 ift$="r"thenfc=10:goto1110
  95. 1020 ift$="o"thenfc= 8:goto1110
  96. 1030 ift$="v"thenfc= 4:goto1110
  97. 1040 ift$="g"thenfc= 7:goto1110
  98. 1050 ift$="h"then h=h+1+(h>4):gosub2280
  99. 1060 ift$=chr$(157)then ez=ez-1-(ez<2):goto940:rem cursor left
  100. 1070 ift$=chr$(29)then ez=ez+1+(ez>4):goto940:rem cursor right
  101. 1080 ift$=chr$(13) then 1160:rem return
  102. 1100 goto970
  103. 1110 poke bs+ve*80+ez*2,160 :rem zeichen und
  104. 1120 poke fs+ve*80+ez*2,fc  :rem farbe setzen
  105. 1130 goto930
  106. 1140 rem********************************
  107. 1150 rem auswertung des codes
  108. 1160 pokevic+21,0 :rem sprite aus
  109. 1170 pokesid+4,17 :rem stimme ein
  110. 1180 fori=1to5
  111. 1190 pokesid,157:pokesid+1,24
  112. 1200 forw=1to20 :nextw
  113. 1210 v(i)=peek(fs+ve*80+i*2)and 15
  114. 1220 pokesid,20:pokesid+1,26
  115. 1230 forw=1to20 :nextw
  116. 1240 next
  117. 1250 pokesid,157:pokesid+1,24
  118. 1260 forw=1to 40:next
  119. 1270 pokesid+4,0
  120. 1280 tr=0:rf=0
  121. 1290 fori=0to14:fx(i)=0:fv(i)=0
  122. 1300 forj=1to5
  123. 1310 ifx(j)=i then fx(i)=fx(i)+1
  124. 1320 ifv(j)=i then fv(i)=fv(i)+1
  125. 1330 nextj,i
  126. 1340 fori=1to5
  127. 1350 ifx(i)=v(i) then tr=tr+1
  128. 1360 next
  129. 1370 if tr=5 then 1710
  130. 1380 fori=0to14
  131. 1390 iffx(i)<fv(i)then fv(i)=fx(i)
  132. 1400 rf=rf+fv(i)
  133. 1410 next
  134. 1420 rf=rf-tr
  135. 1430 rem anzeige der treffer
  136. 1440 poke214,2+ve*2:poke211,28:sys cs
  137. 1450 pokesid,109:pokesid+1,16
  138. 1460 iftr=0 then 1540:rem kein treffer
  139. 1470 fori=1totr
  140. 1480 pokesid+4,17
  141. 1490 printtr$;
  142. 1500 forw=1to150:nextw
  143. 1510 pokesid+4,0
  144. 1520 forw=1to100:next
  145. 1530 nexti
  146. 1540 ifrf=0 then 1630:rem keine richtige farbe
  147. 1550 fori=1torf
  148. 1560 pokesid+4,17
  149. 1570 printrf$;
  150. 1580 forw=1to150:nextw
  151. 1590 pokesid+4,0
  152. 1600 forw=1to100:nextw
  153. 1610 nexti
  154. 1620 goto 910
  155. 1630 iftr then 1690
  156. 1640 pokesid,55:pokesid+1,8
  157. 1650 pokesid+4,17
  158. 1660 printchr$(151);"[195]"
  159. 1670 forw=1to200:nextw
  160. 1680 pokesid+4,0
  161. 1690 goto 910
  162. 1700 rem********************************
  163. 1710 pokevic+21,0:gosub3290
  164. 1720 forwi=1to4
  165. 1730 pokesid,109 :pokesid+1,16
  166. 1740 poke214,2+ve*2:poke211,28:sys cs
  167. 1750 print"          "
  168. 1760 forw=1to300:nextw
  169. 1770 pokesid,219 :pokesid+1,32
  170. 1780 poke214,2+ve*2:poke211,28:sys cs
  171. 1790 printchr$(144);"richtig!!!"
  172. 1800 forw=1to300:nextw
  173. 1810 nextwi
  174. 1820 gosub 3540
  175. 1830 gosub2110:rem code zeigen
  176. 1840 forw=1to1000:nextw
  177. 1850 rem********************************
  178. 1860 rem schlussmelodie
  179. 1880 pokesid+4,17
  180. 1890 pokesid,157:pokesid+1,24
  181. 1900 forw=1to200:next
  182. 1910 pokesid, 20:pokesid+1,26
  183. 1920 forw=1to200:next
  184. 1930 pokesid,160:pokesid+1,27
  185. 1940 forw=1to200:next
  186. 1950 pokesid,3:pokesid+1,31
  187. 1960 forw=1to200:next
  188. 1970 pokesid,219:pokesid+1,32
  189. 1980 pokesid+7,178:pokesid+8,20
  190. 1990 pokesid+14,157:pokesid+15,24
  191. 2000 pokesid+11,17:pokesid+18,17
  192. 2020 forw=1to900:next
  193. 2030 gosub3540
  194. 2040 :
  195. 2050 poke211,2:poke214,24:syscs
  196. 2060 print"taste druecken[145]"
  197. 2070 gett$:ift$=""then 2070
  198. 2080 fl=1:restore:goto 330:rem neustart
  199. 2090 sys 65409:poke788,49:end:rem programmende
  200. 2100 rem********************************
  201. 2110 rem code zeigen
  202. 2120 pokesid,109:pokesid+1,16
  203. 2130 pokevic,160:pokevic+1,66
  204. 2140 pokevic+21,1
  205. 2150 fori=1to5
  206. 2160 pokesid+4,17
  207. 2170 pokevic,144+i*16
  208. 2180 poke bs-40+i*2,160
  209. 2190 poke fs-40+i*2,x(i)
  210. 2200 forw=1to200:next
  211. 2210 pokesid+4,0
  212. 2220 forw=1to150:next
  213. 2230 next
  214. 2240 pokevic+21,0
  215. 2250 return
  216. 2260 rem********************************
  217. 2270 rem hilfstaste code zeigen
  218. 2280 ifh>=(ve/2)thenh=h-1:goto2310
  219. 2290 poke bs-40+h*2,160
  220. 2300 poke fs-40+h*2,x(h)
  221. 2310 return
  222. 2320 rem********************************
  223. 2330 rem code nicht gefunden
  224. 2340 forw=1to200:nextw
  225. 2350 gosub2110
  226. 2360 forw=1to200:nextw
  227. 2370 poke211,28:poke214,1:sys cs
  228. 2380 printchr$(151);"schade!"
  229. 2390 forw=1to2000:nextw
  230. 2400 goto2040
  231. 2410 rem********************************
  232. 2420 rem titelbild
  233. 2430 restore:printchr$(147)
  234. 2440 fori=4to18step 7
  235. 2450 pokesid+i,17
  236. 2460 fork=1to3
  237. 2470 for j=1to4
  238. 2480 read fr:pokesid,fr
  239. 2490 read fr:pokesid+1,fr
  240. 2500 read fr:pokesid+7,fr
  241. 2510 read fr:pokesid+8,fr
  242. 2520 read fr:pokesid+14,fr
  243. 2530 read fr:pokesid+15,fr
  244. 2540 a=int(rnd(1)*1000):fw=int(rnd(1)*15)
  245. 2550 poke55296+a,fw :poke1024+a,63
  246. 2560 forw=1to15:nextw
  247. 2570 nextj
  248. 2580 restore
  249. 2590 nextk
  250. 2600 nexti
  251. 2610 pokesid,109
  252. 2620 pokesid+1,16
  253. 2630 pokesid+7,178
  254. 2640 pokesid+8,20
  255. 2650 pokesid+14,157
  256. 2660 pokesid+15,24
  257. 2670 poke211,0:poke214,7:syscs
  258. 2680 printtab(7)"[154][169]  [146]  [169]  [223][146]  [150] [146]    [158][169]  [223][146]  [156]   [223][146]"
  259. 2690 printtab(7)"[154] [146]     [146]   [146]  [150] [146]    [158] [146]   [146]  [156] [146]   [146]"
  260. 2700 printtab(7)"[154] [146]     [146]   [146]  [150] [146]    [158] [146]   [146]  [156]   [146][169]"
  261. 2710 printtab(7)"[154] [146]     [146]   [146]  [150] [146]    [158] [146]   [146]  [156] [146]  [146][187]"
  262. 2720 printtab(7)"[154][223]  [146]  [223]  [146][169]  [150]   [146]  [158][223]  [146][169]  [156] [146] [188] [146]"
  263. 2730 print:print:printchr$(151)
  264. 2740 printtab(10)"[169]  [146]  [169]  [223][146]     [223][146]     [146]"
  265. 2750 printtab(10)" [146]     [146]   [146]   [146]   [146]   [146]"
  266. 2760 printtab(10)" [146]     [146]   [146]   [146]   [146]    [146]"
  267. 2770 printtab(10)" [146]     [146]   [146]   [146]   [146]   [146]"
  268. 2780 printtab(10)"[223]  [146]  [223]  [146][169]     [146][169]     [146]"
  269. 2790 forw=0to 700:nextw
  270. 2800 return
  271. 2810 rem********************************
  272. 2820 rem abfrage auf anleitung und schwierigkeitsgrad
  273. 2830 rem
  274. 2890 printchr$(147)
  275. 2892 poke211,3:poke214,5:syscs
  276. 2894 print"bitte waehlen sie:"
  277. 2900 poke211,3:poke214,10:sys cs
  278. 2910 print"schwierigkeitsgrad (1 oder 2) ?"
  279. 2920 poke198,0
  280. 2930 gett$:sg=val(t$)-1
  281. 2940 ifsg<0orsg>1 then 2930
  282. 2950 return
  283. 3270 rem********************************
  284. 3280 rem melodie bei gefundenem code
  285. 3290 restore
  286. 3300 fori=4to18 step7
  287. 3310 pokesid+i,17
  288. 3320 fork=1to3
  289. 3330 for j=1to4
  290. 3340 read fr:pokesid,fr
  291. 3350 read fr:pokesid+1,fr
  292. 3360 read fr:pokesid+7,fr
  293. 3370 read fr:pokesid+8,fr
  294. 3380 read fr:pokesid+14,fr
  295. 3390 read fr:pokesid+15,fr
  296. 3400 forw=1to30:nextw
  297. 3410 nextj
  298. 3420 restore
  299. 3430 nextk
  300. 3440 nexti
  301. 3450 pokesid,109
  302. 3460 pokesid+1,16
  303. 3470 pokesid+7,178
  304. 3480 pokesid+8,20
  305. 3490 pokesid+14,157
  306. 3500 pokesid+15,24
  307. 3510 return
  308. 3520 rem********************************
  309. 3530 rem alle stimmen aus
  310. 3540 pokesid+4,0:pokesid+11,0:pokesid+18,0:return
  311.